|
RAIS
3.2
|
00001 00029 using System; 00030 using System.Collections; 00031 using System.Collections.Generic; 00032 using System.Configuration; 00033 using System.Data; 00034 using System.Linq; 00035 using System.Web; 00036 using System.Text; 00037 using System.IO; 00038 using System.Web.Security; 00039 using System.Web.UI; 00040 using System.Web.UI.HtmlControls; 00041 using System.Web.UI.WebControls; 00042 using System.Web.UI.WebControls.WebParts; 00043 using System.Xml.Linq; 00044 using RAIS.Common.UserManagement; 00045 using RAIS.Common; 00046 using RAIS.Common.RADEVClasses; 00047 00048 using RAIS.ApplicationLogicLayer; 00049 00050 namespace RAIS.UI.SpecificMasks 00051 { 00055 public partial class SelectEvent : System.Web.UI.Page 00056 { 00057 #region Properties 00058 00061 protected UserData CurrentUser 00062 { 00063 get { return (UserData)this.Session[UI.Common.Constants.CURRENT_USER_TAG]; } 00064 } 00065 #endregion 00066 00067 #region Event handlers 00068 protected void Page_PreLoad(object sender, EventArgs e) 00069 { 00070 RAIS.UI.Common.PageManagement.TrimTextBoxValues(this); 00071 } 00078 protected void Page_Load(object sender, EventArgs e) 00079 { 00080 this.Response.Cache.SetNoStore(); 00081 if (this.CurrentUser == null) 00082 UI.Common.AccessManagement.SignOut(this); 00083 InitControls(); 00084 00085 if (Session[UI.Common.Constants.SELECTED_CATEGORY_TAG] != null) 00086 Session["SELECTED CATEGORY TAG Backup"] = Session[UI.Common.Constants.SELECTED_CATEGORY_TAG]; 00087 else 00088 Session[UI.Common.Constants.SELECTED_CATEGORY_TAG] = Session["SELECTED CATEGORY TAG Backup"]; 00089 00090 if (((string)Session[UI.Common.Constants.SELECTED_CATEGORY_TAG]) == "Query") 00091 LBLquery.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT; 00092 if (((string)Session[UI.Common.Constants.SELECTED_CATEGORY_TAG]) == "Statistics") 00093 LBLstats.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT; 00094 00095 UI.Common.PageManagement.InitializePage(this, this.TreeView1); 00096 if (!this.IsPostBack) 00097 { 00098 this.LBLusernameNoTranslation.Text = this.CurrentUser.Name; 00099 DDLCriteria_SelectedIndexChanged(sender, e); 00100 UI.Common.PageManagement.InitializePage(this, this.TreeView1); 00101 this.LBLquery.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT; 00102 // this.LBTNmessagebox.Visible = !(this.CurrentUser.FunctionalRole.Type == FunctionRole.FunctionRoleType.Guest); 00103 } 00104 UI.Common.PageManagement.InitHelpMainMenu(LBTNdefault); 00105 } 00112 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) 00113 { 00114 UI.Common.UserManagement.ProcessTreeViewOnRedirect(this.TreeView1); 00115 } 00122 protected void LBTNlogout_Click(object sender, EventArgs e) 00123 { 00124 UI.Common.AccessManagement.SignOut(this); 00125 } 00126 00127 00128 protected void btnAply_Click(object sender, EventArgs e) 00129 { 00130 RADEVCriterias criteria = new RADEVCriterias(); 00131 00132 SetCriteria(criteria, Request.Form["rbtlCriterias"]); 00133 00134 if (((Button)sender).ID == "btnExport") 00135 { 00136 criteria.Type = ReportType.OneLine; 00137 Response.Clear(); 00138 Response.ContentType = "text/plain"; 00139 Response.AddHeader("Content-Disposition", "attachment;filename=RADEVReport_" + DateTime.Today.ToString("dd-MM-yyyy") + ".csv"); 00140 WriteCSVToResponce(criteria); 00141 Response.End(); 00142 } 00143 else 00144 { 00145 SetReportType(criteria, Request.Form["rblReportType"]); 00146 00147 Session["RADEV_CRITERIAS"] = criteria; 00148 00149 Response.Redirect("RADEVReport.aspx"); 00150 } 00151 } 00152 #endregion 00153 private void WriteCSVToResponce(RADEVCriterias criteria) 00154 { 00155 StringBuilder sb = new System.Text.StringBuilder(); 00156 StringWriter sw = new StringWriter(sb); 00157 Response.Write("Event ID"); 00158 Response.Write(";"); 00159 Response.Write("Date"); 00160 Response.Write(";"); 00161 Response.Write("Use sector (Practice)"); 00162 Response.Write(";"); 00163 Response.Write("Contact organization"); 00164 Response.Write(";"); 00165 Response.Write("Report status"); 00166 Response.Write(";"); 00167 00168 Response.Write("\n"); 00169 Response.Write("\n"); 00170 00171 foreach (RADEVTable RADEV in ReportManagement.GetRADEVLineList(ConfigurationManager.AppSettings["RADEVProvider"].ToLower(), criteria)) 00172 { 00173 EventMaster ev = (EventMaster)RADEV; 00174 Response.Write(ev.IAEAEventID); 00175 Response.Write(";"); 00176 Response.Write(ev.EventDate); 00177 Response.Write(";"); 00178 Response.Write(ev.GeneralUseSector); 00179 Response.Write(";"); 00180 Response.Write(ev.ContactOrganization); 00181 Response.Write(";"); 00182 Response.Write(ev.ContactCrossRef); 00183 Response.Write(";"); 00184 Response.Write("\n"); 00185 } 00186 } 00187 private void InitControls() 00188 { 00189 List<RADEVTable> list = RADEVTable.CreateTable(ConfigurationManager.AppSettings["RADEVProvider"].ToLower(), "EventMaster").GetData(); 00190 List<string> IAEAEventID = new List<string>(); 00191 List<string> InstallationName = new List<string>(); 00192 List<string> SpecificPracticeRpt = new List<string>(); 00193 List<string> ContactOrganization = new List<string>(); 00194 List<string> IAEARegion = new List<string>(); 00195 List<string> Facility = new List<string>(); 00196 00197 foreach (RADEVTable tab in list) 00198 { 00199 EventMaster evntTab = tab as EventMaster; 00200 if (!IAEAEventID.Contains(evntTab.IAEAEventID) && evntTab.IAEAEventID!="") 00201 IAEAEventID.Add(evntTab.IAEAEventID); 00202 00203 /*if (!InstallationName.Contains(evntTab.InstallationName) && evntTab.InstallationName != "") 00204 InstallationName.Add(evntTab.InstallationName); 00205 */ 00206 //if (!SpecificPracticeRpt.Contains(evntTab.SpecificPractice) && evntTab.SpecificPractice != "") 00207 // SpecificPracticeRpt.Add(evntTab.SpecificPractice); 00208 foreach (string specificPractice in evntTab.GenaralUseSectors) 00209 if (!SpecificPracticeRpt.Contains(specificPractice) && specificPractice != "") 00210 SpecificPracticeRpt.Add(specificPractice); 00211 00212 if (!ContactOrganization.Contains(evntTab.ContactOrganization) && evntTab.ContactOrganization != "") 00213 ContactOrganization.Add(evntTab.ContactOrganization); 00214 00215 if (!IAEARegion.Contains(evntTab.Region) && evntTab.Region != "") 00216 IAEARegion.Add(evntTab.Region); 00217 00218 if(!Facility.Contains(evntTab.Facility) && evntTab.Facility!="") 00219 Facility.Add(evntTab.Facility); 00220 } 00221 ddlfromEventID.DataSource = IAEAEventID; 00222 ddltoEventID.DataSource = IAEAEventID; 00223 // ddlInstallationName.DataSource = InstallationName; 00224 ddlspecificPractice.DataSource = SpecificPracticeRpt; 00225 ddlContactOrganization.DataSource = ContactOrganization; 00226 //ddlIAEARegion.DataSource = IAEARegion; 00227 ddlFacility.DataSource = Facility; 00228 ddlFacility.DataBind(); 00229 ddlfromEventID.DataBind(); 00230 ddltoEventID.DataBind(); 00231 //ddlInstallationName.DataBind(); 00232 ddlspecificPractice.DataBind(); 00233 ddlContactOrganization.DataBind(); 00234 //ddlIAEARegion.DataBind(); 00235 } 00236 00237 private void SetCriteria(RADEVCriterias criteria, string name) 00238 { 00239 switch (DDLCriteria.SelectedIndex) 00240 { 00241 case 0: 00242 DateTime from; 00243 DateTime to; 00244 if (DateTime.TryParse(tbstartDate.Text, out from) && DateTime.TryParse(tbendDate.Text, out to)) 00245 { 00246 criteria.StartDate = from; 00247 criteria.EndDate = to; 00248 } 00249 break; 00250 case 1: 00251 criteria.FromEvetnID = Request.Form["ddlfromEventID"]==null?"":Request.Form["ddlfromEventID"]; 00252 criteria.ToEvetnID = Request.Form["ddltoEventID"] == null ? "" : Request.Form["ddltoEventID"]; 00253 break; 00254 case 2: 00255 criteria.AllRecords = true; 00256 break; 00257 case 3: 00258 criteria.Facility = Request.Form["ddlFacility"]== null ? "" : Request.Form["ddlFacility"]; 00259 break; 00260 case 4: 00261 criteria.SpecificPractice = Request.Form["ddlspecificPractice"]== null ? "" : Request.Form["ddlspecificPractice"]; 00262 break; 00263 case 5: 00264 criteria.ContactOrganization = Request.Form["ddlContactOrganization"] == null ? "" : Request.Form["ddlContactOrganization"]; 00265 break; 00266 } 00267 } 00268 00269 private void SetReportType(RADEVCriterias criteria , string name) 00270 { 00271 switch (name) 00272 { 00273 case "One Line Report": 00274 criteria.Type = ReportType.OneLine; 00275 break; 00276 case "Summary Report": 00277 criteria.Type = ReportType.Summary; 00278 break; 00279 case "Complete Report": 00280 criteria.Type = ReportType.Complete; 00281 break; 00282 case "Export Selected Records": 00283 criteria.Type = ReportType.Export; 00284 break; 00285 } 00286 } 00287 00288 protected void DDLCriteria_SelectedIndexChanged(object sender, EventArgs e) 00289 { 00290 HideAllCriterias(); 00291 switch (DDLCriteria.SelectedIndex) 00292 { 00293 case 0: 00294 trDateRange.Visible = true; 00295 break; 00296 case 1: 00297 trEventID.Visible = true; 00298 break; 00299 case 3: 00300 trFacility.Visible = true; 00301 break; 00302 case 4: 00303 trSpecificPractice.Visible = true; 00304 break; 00305 case 5: 00306 trContactOrganization.Visible = true; 00307 break; 00308 } 00309 } 00310 00311 private void HideAllCriterias() 00312 { 00313 trDateRange.Visible = false; 00314 trEventID.Visible = false; 00315 trFacility.Visible = false; 00316 trSpecificPractice.Visible = false; 00317 trContactOrganization.Visible = false; 00318 } 00319 } 00320 }